package com.wn.generator;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DateType;

import java.util.Collections;

/**
 *  代码生成器
 *  对 wnxt_trainer 表进行代码 自动生成
 *  1、代码放在那个位置 (那个位置无所谓 大不了自己手动拷贝)
 *
 *  2、修改db表的名称
 *
 */
public class AutoGenerator {
    public static void main(String[] args) {

        // 代码生成器
        FastAutoGenerator.create(
                        "jdbc:mysql://localhost:3306/wnxt",
                        "root",
                        "188073")
                .globalConfig(builder -> {
                    builder.author("yellow docker") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .dateType(DateType.ONLY_DATE)  // 设置自动代码生成器的时间类型
                            .fileOverride() // 覆盖已生成文件

                            .outputDir("D:\\zaichufa\\wnxt_parent\\wnxt_generator\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.wn") // 设置父包名
                            .moduleName(null) // 设置父包模块名
                            .entity("pojo")   // 设置实体类的包名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, "C:\\Users\\du'du\\Desktop\\3JieDUanNeiRong\\code11\\wnxt-parent\\wnxt_admin\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude(
                                    "wnxt_Trainer"
                            )   // 设置需要生成的表名
                            .addTablePrefix("wnxt_"); // 设置过滤表前缀
                    builder.controllerBuilder().enableRestStyle();// 设置restController
                    builder.entityBuilder().enableLombok();
                })
                .execute();
    }
}
